package ai.esc.speedy.admin.user.infrastructure.oauth2;

/**
 * 授权码请求对象
 *
 * @author Rubin
 * @version v1 2020/2/27 14:44
 */
public class CodeRequest {

    String clientId;

    /**
     * 描述被访问的资源
     */
    String scope;

    /**
     * Client的URI
     * <p>
     * redirect_uri须包含authorization_code
     */
    String redirectUri;

    /**
     * 用于抵制CSRF攻击
     */
    String state;

    String responseType;

    /**
     * 当access_type=offline时，AS将在颁发access_token时，同时还会颁发一个refresh_token。
     * <p>
     * 因为access_token的有效期较短（如3600秒），为了优化协议执行流程，
     * <p>
     * offline方式将允许Client直接持refresh_token来换取一个新的access_token。
     */
    String accessType;

    /**
     * 当approval_prompt=force时，AS将提供交互页面，要求RO必须显式地批准（或拒绝）Client的此次请求。
     * <p>
     * 如果没有approval_prompt参数，则默认为RO批准此次请求。
     */
    String approvalPrompt;
}
